#pragma once

class Core::GameLogic::SimpleMap;
struct Core::Position;
namespace Core
{
	using namespace GameLogic;
	namespace Util
	{
		
		class AStarSimpleGoal
		{
		public:

		private:
			SimpleMap::LogicPart& mMap;
			Position& mStart;
			Position& mDestination;
		public:
			AStarSimpleGoal(SimpleMap::LogicPart& map,Position& start,Position& destination);
			bool TailIsOpen(const Position& pos);
			double DistanceToGoal(const Position& pos);
			double GetTileCost(const Position& pos);
			Position& GetStart();
			Position& GetDestination();
		public:
			~AStarSimpleGoal(void);
		};
	}
}